hierarchical grammars

Terms from Artificial Intelligence: humans at the heart of algorithms

Page numbers are for draft copy at present; they will be replaced with correct numbers when final book is formatted. Chapter numbers are correct and will not change now.

An hierarchical grammar is a form of grammar where the expansion of terms can include (simpler) instances of the same term within them. For example, most computer languages, allow arithmetic expressions including ones consisting of two (simpler) expresssions with "+" between them: and also an expression surrounded by brackets:
      expr ::= expr '+' expr | '(' expr ')' | ...
This allows complex constructions such as (1+2)+((3+4)+(5+6)). Note that regular expressions, whch are a simpler form of grammar, cannot match brackets like this.

Used on Chap. 14: page 328